Usando el JS-SDK de evernote, he tenido éxito en la autenticación y autorización de clientes de terceros y en la recuperación de sus cuadernos, pero cuando intentaba buscar una nota usando consultas de búsqueda, seguía obteniendo { "errorCode": 3, "parameter": "authenticationToken" } incluso aunque oauthAccessToken está presente en la sesión del usuario. Intenté pasar accessToken directamente como parámetro para findNotesMetadata() pero eso me da "Número incorrecto de argumentos pasados a findNotesMetadata: se esperaban 4 pero se encontraron 5"
Había visto la misma pregunta aquí hace 2 años, pero no obtuve ninguna respuesta. Cualquier forma de ayuda es bienvenida. A continuación se muestra mi código actual
exports.searchNote = async (req, res) => { if (req.session.oauthAccessToken) { console.log(SESSION =>", req.session); const token = req.session.oauthAccessToken; const searchParam = req.query.search; console.log("ACCESS_TOKEN =>", token); console.log("SEARCH_WORD =>", searchParam); const client = new Evernote.Client({ consumerKey: config.API_CONSUMER_KEY, consumerSecret: config.API_CONSUMER_SECRET, token: token, sandbox: config.SANDBOX, china: config.CHINA, }); const noteStore = client.getNoteStore(); const filter = new Evernote.NoteStore.NoteFilter({ words: searchParam === undefined ? "" : searchParam, ascending: true, }); const spec = new Evernote.NoteStore.NotesMetadataResultSpec({ includeTitle: true, includeContentLength: true, includeCreated: true, includeUpdated: true, includeDeleted: true, includeUpdateSequenceNum: true, includeNotebookGuid: true, includeTagGuids: true, includeAttributes: true, includeLargestResourceMime: true, includeLargestResourceSize: true, }); noteStore .findNotesMetadata(filter, 0, 500, spec) .then((notesMetadataList) => { // data.notes is the list of matching notes console.log(notesMetadataList); res.json({ NotesMetaData: notesMetadataList }); }) .catch((err) => { console.log("Search_Error =>", err); res.status(500).json({ Search_Error: err }); }); } else { res.status(401).json({ session: req.session, msg: "You do not have an active session, login and authorize NoteTaker to access your Evernote Account", }); } };